package unit5.part12.communication;

import java.util.Scanner;

public class Communication {// 通信器类
    Listener listener;// 监听器对象

    void send(String[] infos) {// 发送消息方法
        System.out.println("开始发送");
        System.out.println(listener.receive(infos));// 调用监听器的接收消息方法
        System.out.println("发送结束");
    }
}

@FunctionalInterface // 使用注解标记函数式接口
interface Listener {// 监听器类
    String receive(String[] infos);// 接收消息方法
}

class Main {
    public static void main(String[] args) {
        Communication communication = new Communication();// 创建通信器类对象
        communication.listener = infos -> "收到" + infos.length + "条信息";// 使用Lambda表达式配置监听器，Lambda表达式中返回形如”收到X条信息“的字符串，X为入参数组内元素的个数

        Scanner scanner = new Scanner(System.in);
        String[] infos = scanner.next().split(";");

        communication.send(infos);
    }
}
